// pages/index/index.js
Page({
  data: {
    attractions: [
      // 景点数据保持不变
      {
        id: 1,
        name: '龙象塔',
        description: '青秀山标志性建筑，登塔可俯瞰南宁全景',
        image: 'https://tse4-mm.cn.bing.net.th/id/OIP-C.MYcoQDRkVWJNe9xZHzJ-RQAAAA?w=223&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['标志建筑', '观景台']
      },
      {
        id: 2,
        name: '天池',
        description: '碧波荡漾的人工湖，可乘船游览',
        image: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.3BsX_ffNMdAwDOCj24lR7AHaEd?w=314&h=187&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['湖泊', '游船']
      },
      {
        id: 3,
        name: '苏铁园',
        description: '国内最大的苏铁专类园',
        image: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.rQn-TLTTwGSmieJeegBudAHaEw?w=233&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['植物园', '科普']
      },
      {
        id: 4,
        name: '观音禅寺',
        description: '历史悠久的佛教寺庙',
        image: 'https://tse3-mm.cn.bing.net/th/id/OIP-C.Y07-ZTnGpd17ACC_SP1hJQHaFJ?w=220&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['寺庙', '文化']
      },
      {
        id: 5,
        name: '友谊长廊',
        description: '连接各景点的美丽长廊',
        image: 'https://tse2-mm.cn.bing.net/th/id/OIP-C.mrWw44J5-Z0Ztx1x2MK9KQHaE8?w=257&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['长廊', '休闲']
      },
      {
        id: 6,
        name: '棕榈园',
        description: '热带风情植物园区',
        image: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.RT3K81ZtraSdAg6K387PNwHaEo?w=311&h=194&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['植物', '热带']
      },
      {
        id: 7,
        name: '荷花池',
        description: '夏季赏荷的绝佳地点',
        image: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.yvixusiNaXBiCrLbnmjS2AHaEq?w=293&h=185&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['花卉', '摄影']
      },
      {
        id: 8,
        name: '儿童乐园',
        description: '亲子游玩的好去处',
        image: 'https://tse2-mm.cn.bing.net/th/id/OIP-C.twuKL_TlWdsGYnf_sg5O-wHaEn?w=249&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['亲子', '娱乐']
      },
      {
        id: 9,
        name: '桃花岛',
        description: '春季赏桃花的绝佳地点',
        image: '/images/attraction9.jpg',
        tags: ['花卉', '春季'],
        type: '景点'
      },
      {
        id: 10,
        name: '凤凰岭',
        description: '登山观景的好去处',
        image: '/images/attraction10.jpg',
        tags: ['登山', '观景'],
        type: '景点'
      }
    ],
    activities: [
      {
        id: 101,
        name: '春季花展',
        description: '每年春季举办的盛大花卉展览',
        image: 'https://tse3-mm.cn.bing.net/th/id/OIP-C.UU0j4E5YPYgTuIuyKl_V-AHaE_?w=239&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['花展', '春季'],
        type: '活动',
        time: '3月-5月'
      },
      {
        id: 102,
        name: '中秋灯会',
        description: '传统中秋佳节灯会活动',
        image: 'https://tse4-mm.cn.bing.net/th/id/OIP-C.Bw0JMbyi1aCwqH3XLwqwzgHaEW?w=311&h=183&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['灯会', '中秋'],
        type: '活动',
        time: '9月-10月'
      },
      {
        id: 103,
        name: '摄影大赛',
        description: '青秀山风光摄影比赛',
        image: 'https://tse1-mm.cn.bing.net.th/id/OIP-C.ghi789cameraHaE8?w=257&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['摄影', '比赛'],
        type: '活动',
        time: '全年'
      }
    ],
    
    foods: [
      {
        id: 201,
        name: '青秀山绿茶',
        description: '本地特色绿茶，清香甘醇',
        image: 'https://tse3-mm.cn.bing.net.th/id/OIP-C.jkl012teaHaE8?w=257&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['饮品', '特产'],
        type: '美食',
        price: '￥38'
      },
      {
        id: 202,
        name: '山水豆腐花',
        description: '传统手工豆腐花，嫩滑爽口',
        image: 'https://tse4-mm.cn.bing.net.th/id/OIP-C.mno345tofuHaE8?w=257&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['小吃', '甜品'],
        type: '美食',
        price: '￥15'
      },
      {
        id: 203,
        name: '竹筒饭',
        description: '用新鲜竹筒烹饪的特色米饭',
        image: 'https://tse1-mm.cn.bing.net.th/id/OIP-C.pqr678bambooHaE8?w=257&h=180&c=7&r=0&o=7&dpr=1.5&pid=1.7&rm=3',
        tags: ['主食', '特色'],
        type: '美食',
        price: '￥25'
      }
    ],
    
    // 搜索相关数据
    searchValue: '',
    searchResults: [],
    isSearching: false,
    showSearchResults: false,

    routes: [
      {
        id: 1,
        index: '1',
        name: '经典半日游',
        duration: '3-4小时',
        distance: '3公里',
        content: '北门 → 龙象塔 → 天池 → 苏铁园 → 观音禅寺 → 友谊长廊',
        tips: '适合时间紧张的游客'
      },
      {
        id: 2,
        index: '2',
        name: '休闲一日游',
        duration: '6-7小时',
        distance: '5公里',
        content: '西门 → 友谊长廊 → 观音禅寺 → 天池（午餐）→ 苏铁园 → 龙象塔',
        tips: '推荐在天池周边用餐'
      },
      {
        id: 3,
        index: '3',
        name: '亲子游路线',
        duration: '4-5小时',
        distance: '2.5公里',
        content: '北门 → 儿童乐园 → 友谊长廊 → 天池（游船）→ 苏铁园',
        tips: '包含儿童娱乐项目'
      }
    ],
    // 新增更多路线数据
    allRoutes: [
      {
        id: 1,
        index: '1',
        name: '经典半日游',
        duration: '3-4小时',
        distance: '3公里',
        content: '北门 → 龙象塔 → 天池 → 苏铁园 → 观音禅寺 → 友谊长廊',
        tips: '适合时间紧张的游客'
      },
      {
        id: 2,
        index: '2',
        name: '休闲一日游',
        duration: '6-7小时',
        distance: '5公里',
        content: '西门 → 友谊长廊 → 观音禅寺 → 天池（午餐）→ 苏铁园 → 龙象塔',
        tips: '推荐在天池周边用餐'
      },
      {
        id: 3,
        index: '3',
        name: '亲子游路线',
        duration: '4-5小时',
        distance: '2.5公里',
        content: '北门 → 儿童乐园 → 友谊长廊 → 天池（游船）→ 苏铁园',
        tips: '包含儿童娱乐项目'
      },
      {
        id: 4,
        index: '4',
        name: '深度文化游',
        duration: '5-6小时',
        distance: '4公里',
        content: '西门 → 观音禅寺 → 龙象塔 → 天池 → 友谊长廊 → 苏铁园',
        tips: '深度体验青秀山文化'
      },
      {
        id: 5,
        index: '5',
        name: '自然风光游',
        duration: '4-5小时',
        distance: '3.5公里',
        content: '北门 → 棕榈园 → 荷花池 → 天池 → 龙象塔',
        tips: '适合摄影爱好者'
      },
      {
        id: 6,
        index: '6',
        name: '健身徒步游',
        duration: '3-4小时',
        distance: '4.5公里',
        content: '西门 → 龙象塔 → 天池 → 苏铁园 → 棕榈园 → 北门',
        tips: '适合健身爱好者'
      }
    ],
    showAllRoutes: false, // 控制是否显示所有路线
    displayedRoutesCount: 3 // 初始显示的路线的数量
  },

  onLoad: function (options) {
    console.log('青秀山一日游页面加载');
    // 初始化显示前3条路线
    this.setData({
      routes: this.data.allRoutes.slice(0, this.data.displayedRoutesCount)
    });
  },

  validateData: function() {
    console.log('=== 数据验证 ===');
    console.log('景点数量:', this.data.attractions.length);
    console.log('活动数量:', this.data.activities.length);
    console.log('美食数量:', this.data.foods.length);
    console.log('路线数量:', this.data.allRoutes.length);
    
    // 打印所有可搜索的名称
    const allNames = [
      ...this.data.attractions.map(item => item.name),
      ...this.data.activities.map(item => item.name),
      ...this.data.foods.map(item => item.name),
      ...this.data.allRoutes.map(item => item.name)
    ];
    console.log('所有可搜索名称:', allNames);
  },

  onReady: function () {
    console.log('青秀山一日游页面渲染完成');
  },

  onSearchInput: function(e) {
    const value = e.detail.value;
    this.setData({
      searchValue: value
    });
    
    // 如果输入为空，隐藏搜索结果
    if (!value.trim()) {
      this.setData({
        showSearchResults: false,
        isSearching: false
      });
      return;
    }
    
    this.setData({
      isSearching: true
    });
    
    // 执行搜索
    this.performSearch(value.trim());
  },

  // 执行搜索
  performSearch: function(keyword) {
    const allItems = [
      ...this.data.attractions,
      ...this.data.activities,
      ...this.data.foods,
      ...this.data.allRoutes
    ];
    
 console.log('📊 总数据量:', allItems.length);
  
  const results = allItems.filter(item => {
    if (!item) return false;
    
    // 构建搜索字段
    const searchFields = [
      item.name || '',
      item.description || '',
      item.tags ? item.tags.join(' ') : '',
      item.type || '',
      item.content || '' // 路线内容
    ];
    
    // 转换为小写进行比较
    const searchText = searchFields.join(' ').toLowerCase();
    const searchKeyword = keyword.toLowerCase();
    
    // 多种匹配方式
    const match = 
      searchText.includes(searchKeyword) || // 包含匹配
      this.fuzzyMatch(item.name, keyword) || // 模糊匹配名称
      this.fuzzyMatch(item.description, keyword) || // 模糊匹配描述
      (item.tags && item.tags.some(tag => 
        tag.toLowerCase().includes(searchKeyword)
      )); // 标签匹配
    
    console.log(`项目 "${item.name}" 匹配结果:`, match);
    return match;
  });
  
  console.log('✅ 搜索结果数量:', results.length);
  console.log('📝 搜索结果:', results);
  
  this.setData({
    searchResults: results,
    showSearchResults: true
  });
},

// 添加模糊匹配方法
fuzzyMatch: function(text, keyword) {
  if (!text || !keyword) return false;
  
  const textLower = text.toLowerCase();
  const keywordLower = keyword.toLowerCase();
  
  // 直接包含
  if (textLower.includes(keywordLower)) return true;
  
  // 中文模糊匹配（比如"花园"匹配"花展"）
  const fuzzyMap = {
    '花园': ['花展', '花卉', '花园', '鲜花'],
    '花展': ['花园', '花卉', '花展', '鲜花'],
    '寺庙': ['禅寺', '寺庙', '佛教'],
    '禅寺': ['寺庙', '禅寺', '佛教'],
    '长廊': ['走廊', '长廊', '廊道'],
    '植物': ['植物', '花草', '树木', '园林'],
    '美食': ['食物', '小吃', '餐饮', '美食'],
    '活动': ['活动', '项目', '节目']
  };
  
  if (fuzzyMap[keywordLower]) {
    return fuzzyMap[keywordLower].some(fuzzyWord => 
      textLower.includes(fuzzyWord)
    );
  }
  
  return false;
},

  // 清除搜索
  clearSearch: function() {
    this.setData({
      searchValue: '',
      searchResults: [],
      showSearchResults: false,
      isSearching: false
    });
  },

  // 搜索框聚焦
  onSearchFocus: function() {
    if (this.data.searchValue) {
      this.setData({
        showSearchResults: true
      });
    }
  },

// 修改搜索框失去焦点逻辑
onSearchBlur: function() {
  // 增加延迟时间，确保用户能点击到结果
  setTimeout(() => {
    if (!this.data.keepResultsOpen) {
      this.setData({
        showSearchResults: false
      });
    }
  }, 300);
},

// 修改搜索结果点击事件
onSearchResultTap: function(e) {
  // 设置标志保持结果打开，避免在点击时立即关闭
  this.setData({
    keepResultsOpen: true
  });
  
  const item = e.currentTarget.dataset.item;
  
  let content = '';
  if (item.type === '路线') {
    content = `时长：${item.duration}\n距离：${item.distance}\n路线：${item.content}\n提示：${item.tips}`;
  } else {
    content = `${item.description}\n类型：${item.type}`;
    if (item.time) content += `\n时间：${item.time}`;
    if (item.price) content += `\n价格：${item.price}`;
  }
  
  wx.showModal({
    title: item.name,
    content: content,
    showCancel: false,
    confirmText: '知道了',
    complete: () => {
      // 模态框关闭后，重置状态
      this.setData({
        keepResultsOpen: false,
        showSearchResults: false
      });
    }
  });
},

// 添加搜索确认事件（键盘搜索键）
onSearchConfirm: function(e) {
  const value = e.detail.value;
  this.setData({
    searchValue: value
  });
  
  if (!value.trim()) {
    this.setData({
      showSearchResults: false,
      isSearching: false
    });
    return;
  }
  
  this.setData({
    isSearching: true
  });
  
  this.performSearch(value.trim());
},

  // 查看所有路线
  viewAllRoutes: function() {
    if (this.data.showAllRoutes) {
      // 如果已经显示全部，则收起显示前3条
      this.setData({
        routes: this.data.allRoutes.slice(0, this.data.displayedRoutesCount),
        showAllRoutes: false
      });
      wx.showToast({
        title: '已收起路线',
        icon: 'success'
      });
    } else {
      // 显示所有路线
      this.setData({
        routes: this.data.allRoutes,
        showAllRoutes: true
      });
      wx.showToast({
        title: '显示所有路线',
        icon: 'success'
      });
    }
  },

  // 查看路线详情
  viewRouteDetail: function(e) {
    const id = e.currentTarget.dataset.id;
    const route = this.data.allRoutes.find(item => item.id === id);
    wx.showModal({
      title: route.name,
      content: `时长：${route.duration}\n距离：${route.distance}\n路线：${route.content}\n提示：${route.tips}`,
      showCancel: false,
      confirmText: '知道了'
    });
  },

  // 其他原有方法保持不变...
  navigateToMap: function() {
    wx.showToast({
      title: '跳转景区地图',
      icon: 'none'
    });
  },

  navigateToTransport: function() {
    wx.showToast({
      title: '跳转交通指南',
      icon: 'none'
    });
  },

  navigateToLostFound: function() {
    wx.showToast({
      title: '跳转失物招领',
      icon: 'none'
    });
    wx.navigateTo({
      url: '/pages/LostFound/LostFound'
    });
  },

  navigateToTickets: function() {
    wx.showToast({
      title: '跳转门票预订',
      icon: 'none'
    });
  },

  navigateToFood: function() {
    wx.showToast({
      title: '跳转特色美食',
      icon: 'none'
    });
    wx.navigateTo({
      url: '/pages/Food/Food'
    });
  },

  navigateToTreasure: function() {
    wx.showToast({
      title: '跳转寻宝',
      icon: 'none'
    });
  },

  viewAttractionDetail: function(e) {
    const id = e.currentTarget.dataset.id;
    const attraction = this.data.attractions.find(item => item.id === id);
    wx.showToast({
      title: `查看${attraction.name}`,
      icon: 'none'
    });
  },

  viewAllAttractions: function() {
    wx.showToast({
      title: '查看所有景点',
      icon: 'none'
    });
  }
})